import { SetMetadata } from '@nestjs/common';
import 'reflect-metadata';

/**
 * 控制实体是否被TypeORM同步
 * @param enable - true：同步（默认）；false：不同步
 */
export function EntitySync(enable: boolean = true) { // 默认为true，简化标注
    return SetMetadata('entity:sync:enable', enable);
}

/**
 * 获取实体同步状态（未标注时默认同步）
 */
export function getEntitySyncStatus(target: any): boolean {
    // 元数据不存在时返回true（未标注装饰器 = 同步）
    return Reflect.getMetadata('entity:sync:enable', target) ?? true;
}